/*
*    Author : huyn 
*    2017/06/13
*    version 0.0.9
*    定义全局通用方法
*/

#ifndef HTSC_GRPC_COMMON_UTILS_H
#define HTSC_GRPC_COMMON_UTILS_H

#ifdef __cplusplus
extern "C" {
#endif

	
//定义通用函数
#define HTSC_GRPC_COMMON_ZK_SCHEME  "zookeeper:///"


//路由规则结构体
	typedef struct _htsc_grpc_router_t
	{
		char *url;          //路由字符串
		char *servicename;  //服务名
		char *host;	        //ip地址
	} htsc_grpc_router_t;


void htsc_grpc_int_to_char(int inval,char * str);

int htsc_grpc_getservicename_by_target(char * target);

//解析fullmethod内部包含的方法名称
//servicename 返回取到的方法名称
void htsc_grpc_getserveicename_by_fullmethod(const char* fullmethod, char* servicename);

char * htsc_grpc_getserveice_by_fullmethod(const char* fullmethod);

char * htsc_grpc_getmethodname_by_fullmethod(const char* fullmethod);

int htsc_grpc_router_free(htsc_grpc_router_t **router);

//校验给的字符串指针是否为数字
int htsc_grpc_common_utils_isdigit(char *num);

char* htsc_provider_service_version();

char* htsc_provider_service_group();

//生成uuid
void htsc_grpc_uuid(char *my_uuid);


//获取consumer端所需要的provider版本
//获取内容不需要释放
char* htsc_consumer_service_version();

//获取grpc版本
char* htsc_grpc_version();
#ifdef __cplusplus
}
#endif
#endif // !HTSC_GRPC_COMMON_UTILS_H
